Asynchronous method to run the list of features on a LEADDocument, returning results of processing.
public Task<List<ElementSetResult>> Run(
List<IFeature> features,
LEADDocument document,
CancellationToken token
)
features
List of features to run on the document.
document
Document on which the features are run.
token
A CancellationToken enables cooperative cancellation between threads or Task objects. Create a cancellation token by instantiating a CancellationTokenSource object, which manages cancellation tokens retrieved from its CancellationTokenSource.
The results of processing the document.
This example runs a ruleset on a document and reads the results.
using Leadtools;
using Leadtools.Document.Unstructured;
using Leadtools.Document.Analytics;
using Leadtools.Document.Unstructured.Highlevel;
using Leadtools.Ocr;
using Leadtools.Document;
async Task RunRuleSet(string ruleSetFileName, string documentFileName, IOcrEngine ocrEngine)
{
var json = LoadJson(ruleSetFileName);
var features = FeatureResourceBuilder.BuildFromArray(json);
var doc = LoadDocument(documentFileName);
doc.Text.OcrEngine = ocrEngine;
doc.Text.ImagesRecognitionMode = DocumentTextImagesRecognitionMode.Auto;
doc.Text.TextExtractionMode = DocumentTextExtractionMode.Auto;
var results = await new FeaturesProcessingEngine().Run(features.ToList(), doc, 1, 1, CancellationToken.None);
foreach (var result in results)
{
var items = result?.Items;
foreach (var item in items)
{
var name = item?.ElementName;
var val = item?.Value;
}
}
string LoadJson(string pathName)
{
var txt = File.ReadAllText(pathName);
var obj = JObject.Parse(txt);
var meta = obj["meta"];
if (null == meta)
{
throw new Exception("Couldn't find the meta info in the ruleset file, make sure this file was saved using this demo.");
}
return meta.ToString();
}
LEADDocument LoadDocument(string pathName)
{
var options = new LoadDocumentOptions()
{
FirstPageNumber = 1,
LastPageNumber = -1,
TimeoutMilliseconds = 0,
MaximumImagePixelSize = 12288
};
return DocumentFactory.LoadFromFile(pathName, options);
}
}